export const filterJson = {
  text: 'filters',
  type: 'filter',
  label: 'Filters',
  dataArr: 'rules',
  keyHint: 'Select Fields',
  children: 'children',
  keyLabel: '',
  condition: 'condition',
  keyFields: 'key',
  valueHint: 'Value',
  keyOptions: 'keyArray',
  keyArray: [
    {
      label: '',
      value: '',
      type: ''
    }
  ],
  optionHint: '',
  optionList: [
    { 'type': 'all', 'label': 'Is Empty', 'value': 'is null' },
    { 'type': 'all', 'label': 'Is Not Empty', 'value': 'is not null' },
    { 'type': 'text', 'label': 'Is Blank', 'value': "=''" },
    { 'type': 'text', 'label': 'Is Not Blank', 'value': "!=''" },
    { 'type': 'text', 'label': 'Equals', 'value': '=' },
    { 'type': 'text', 'label': 'Not Equals', 'value': '!=' },
    { 'type': 'text', 'label': 'Contains', 'value': 'ilike', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'Not Contains', 'value': 'not ilike', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'Start With', 'value': 'ilike%', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'End With', 'value': '%ilike', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'Not Start With', 'value': 'not ilike%', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'Not End With', 'value': 'not %ilike', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'IN', 'value': 'in' },
    { 'type': 'text', 'label': 'Any', 'value': '= any' },
    { 'type': 'text', 'label': 'Not IN', 'value': 'not in' },
    { 'type': 'text', 'label': 'Any IN', 'value': '= any in', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'Match', 'value': '~*', 'CaseSensitive': true },
    { 'type': 'text', 'label': 'Not Match', 'value': '!~*', 'CaseSensitive': true },
    { 'type': 'number', 'label': 'IN', 'value': 'in' },
    { 'type': 'number', 'label': 'Any', 'value': '= any' },
    { 'type': 'number', 'label': 'Not IN', 'value': 'not in' },
    { 'type': 'number', 'label': '=', 'value': '=' },
    { 'type': 'number', 'label': '>', 'value': '>' },
    { 'type': 'number', 'label': '>=', 'value': '>=' },
    { 'type': 'number', 'label': '<', 'value': '<' },
    { 'type': 'number', 'label': '<=', 'value': '<=' },
    { 'type': 'number', 'label': '!=', 'value': '!=' },
    // { 'type': 'datetime', 'label': 'At', 'value': 'at' },
    { 'type': 'datetime', 'label': 'Equal To', 'value': '=' },
    // { 'type': 'datetime', 'label': '>', 'value': '>' },
    { 'type': 'datetime', 'label': 'Later Than', 'value': '>=' },
    // { 'type': 'datetime', 'label': '<', 'value': '<' },
    { 'type': 'datetime', 'label': 'Earlier Than', 'value': '<=' },
    { 'type': 'datetime', 'label': 'Less Than', 'value': '<' },
    { 'type': 'datetime', 'label': 'Not Equal To', 'value': '!=' },
    { 'type': 'datetime', 'label': 'In', 'value': 'in' },
    { 'type': 'datetime', 'label': 'Time of Day', 'value': 'timeofday' },
    { 'type': 'datetime', 'label': 'Between', 'value': 'between' },
    { 'type': 'boolean', 'label': 'Equal', 'value': '=' },
    { 'type': 'boolean', 'label': 'Not Equal', 'value': '!=' },
    { 'type': 'date', 'label': 'Equal To', 'value': '=' },
    { 'type': 'date', 'label': 'Later Than', 'value': '>=' },
    { 'type': 'date', 'label': 'Earlier Than', 'value': '<=' },
    { 'type': 'date', 'label': 'Less Than', 'value': '<' },
    { 'type': 'date', 'label': 'Not Equal To', 'value': '!=' },
    { 'type': 'date', 'label': 'In', 'value': 'in' },
    { 'type': 'date', 'label': 'Between', 'value': 'between' }
  ],
  valueLabel: 'Value',
  optionLabel: '',
  valueFields: 'value',
  defaultValue: {
    rules: [
      {
        key: '',
        opt: '',
        type: 'text',
        value: '',
        slicer: {
          id: '',
          status: false,
          slicerKey: [],
          dbType: '',
          currentSlicerStatus: false,
          currentSlicer: '',
          slicerName: '',
          ignoreFilter: false
        },
        caseSensitive: false
      }
    ],
    condition: 'and'
  },
  defaultValueNoData: {
    filters: {
      rules: [],
      condition: 'and'
    }
  },
  optionFields: 'opt',
  defaultObject: {
    key: '',
    opt: '',
    type: 'text',
    value: '',
    slicer: {
      id: '',
      status: false,
      slicerKey: [],
      dbType: '',
      currentSlicerStatus: false,
      currentSlicer: '',
      slicerName: '',
      ignoreFilter: false
    },
    caseSensitive: false
  },
  valueTypeList: ['text', 'number', 'datetime', 'boolean', 'date'],
  keyLabelWidth: '0%',
  valueTypeHint: 'Type',
  keyFieldsWidth: '100%',
  valueTypeLabel: 'Type',
  valueLabelWidth: '14%',
  valueTypeFields: 'type',
  optionLabelWidth: '0%',
  valueFieldsWidth: '100%',
  optionFieldsWidth: '100%',
  valueTypeLabelWidth: '0',
  valueTypeFieldsWidth: '0',
  IsSlicer: false,
  slicerFieldsObj: 'slicer',
  slicerFieldsId: 'id',
  slicerFieldsStatus: 'status',
  slicerFieldsKey: 'slicerKey',
  slicerFieldsDbType: 'dbType',
  slicerFieldsCurrentStatus: 'currentSlicerStatus',
  slicerFieldsCurrent: 'currentSlicer',
  slicerFieldsName: 'slicerName',
  slicerFieldsIgnoreFilter: 'ignoreFilter',
  caseSensitive: 'caseSensitive'
}
